The present invention relates generally to methods and systems for performing faster encoding and decoding of digital video using media processors.
The market demand for popular entertainment and consumer electronic goods with more multimedia quality and functionality is pushing the development of multimedia technologies that compute faster and more efficiently. Because multimedia applications handle video and audio signals in real time, such applications can be slow to execute unless special-purpose devices are designed for the particular application. In today""s market, however, multimedia technologies are changing rapidly due in part to changing standards and consumer tastes. Manufacturers therefore are constantly trying to develop low-cost, mass-market, high quality multimedia products that are also flexible enough to keep pace with changing standards and consumer tastes.
Many multimedia products employ a xe2x80x9cmedia processor,xe2x80x9d a programmable processor that is capable of simultaneously processing several multimedia data types, such as video, audio, graphics, and communications because they offer quality and efficiency at a low price point for consumer goods. Media processors may employ various architectural strategies originally developed for supercomputers, such as parallel processing, a Single Instruction, Multiple Data (SIMD) architecture, very long instruction word (VLIW) execution, and vector processing to efficiently perform signal processing of image data. Another technique for improving media processors is to specially design the hardware therein to more efficiently perform time-intensive operations that are frequently required in multimedia applications.
Since video signals of multimedia applications constitute an enormous volume of data, it is common to use various methods for processing or xe2x80x9ccompressingxe2x80x9d the data in video signals prior to transmission or storage. For example, one common format for compressing and storing digital video and audio signals is called the xe2x80x9cDV format.xe2x80x9d The standard for DV format is described fully in the xe2x80x9cSpecification of Consumer-Use Digital VCRs (using a 6.3 mm magnetic tape),xe2x80x9d issued by the HD Video Conference, December 1994. Devices employing the DV format encode digital video images by separating the pixels representing the image into blocks and processing the blocks using a mathematical technique known as a Discrete Cosine Transformation (DCT). The image is then represented in compressed form by mathematical components called DCT coefficients. In the DV format, a process known as xe2x80x9cquantizationxe2x80x9d is used to reduce the precision of the DCT coefficients and thus further compress the data needed to represent the image. With quantization, the DCT coefficients for highly detailed portions of the image, which the human eye cannot readily perceive, are represented with less precision or effectively discarded, conserving the number of bits that are transmitted. DCT coefficients are quantized by dividing each DCT coefficient by a nonzero positive integer, called a xe2x80x9cquantization step.xe2x80x9d Quantization step values are chosen so as to minimize perceived distortion in the reconstructed pictures.
During the decompression process, the decoder reverses the process to reconstruct approximations of the DCT coefficients. Both quantization and dequantization as traditionally implemented on conventional DV devices involve numerous large, computationally inefficient table lookups and multiply operations. It is therefore desirable to provide methods and apparatus for improving the efficiency of digital video devices employing quantization.
In accordance with the purpose of the present invention, as embodied and broadly described, the invention provides a method and apparatus for performing inverse quantization by determining class number and quantization number for each block of received quantized DCT coefficients, determining a first shift value based on the class number and quantization number and a second shift value based on the class number and a combination type, and entirely shifting the block of DCT coefficients based on the first and second shift values. Alternatively, the inverse quantization may be combined with inverse weighting step by pre-shifting a set of weighting tables, one for each area number combination. A pre-shifted weighting matrix is then selected based on the second shift value and multiplied by the shifted matrix of DCT coefficients. In another embodiment, a pre-shifted weighting table is selected based on the class number and combination type and then multiplied by the shifted matrix of DCT coefficients.
Additional drawings and features of the present invention will further become apparent to persons skilled in the art from the study of the following description and drawings.